#-----------------------------------------------------------------------------
# File Name: makefile
# Description
# -----------
# This is the makefile for the USBPaylink object file
#
#-----------------------------------------------------------------------------
SHELL 		= /bin/sh

#-- Release Compiler Flags ---------------------------------------------------

CXXFLAGS		+= -m32     -O2 -g0 -Wall -Wno-char-subscripts -Wno-array-bounds -I. -I.. -I../.. -I../../.. -I../USBDevices -I../../MainCode -fno-strict-aliasing -Wno-deprecated-declarations -Wno-register -Wno-stringop-overflow -Wno-stringop-truncation -Wno-nonnull -Wno-write-strings -pipe -fomit-frame-pointer -DPROCESSOR=PC -D_GNU_SOURCE
C64FLAGS		+= -DBit64  -O2 -g0 -Wall -Wno-char-subscripts -Wno-array-bounds -I. -I.. -I../.. -I../../.. -I../USBDevices -I../../MainCode -fno-strict-aliasing -Wno-deprecated-declarations -Wno-register -Wno-stringop-overflow -Wno-stringop-truncation -Wno-nonnull -Wno-write-strings -pipe -fomit-frame-pointer -DPROCESSOR=PC -D_GNU_SOURCE

#-- Compile All --------------------------------------------------------------

.PHONEY: all
all: USBPaylink.o32 \
     USBPaylinkPC.o32 \
     Acceptor.o32 \
     ccBcr.o32 \
     ccPort.o32 \
     BNVCrypt.o32 \
     Device.o32 \
     Escrow.o32 \
     Printer.o32 \
     Hopper.o32 \
     HostIFace.o32 \
     Port.o32 \
     Version.o32 \
     USBPaylink.o64 \
     USBPaylinkPC.o64 \
     Acceptor.o64 \
     ccBcr.o64 \
     ccPort.o64 \
     BNVCrypt.o64 \
     Device.o64 \
     Escrow.o64 \
     Printer.o64 \
     Hopper.o64 \
     HostIFace.o64 \
     Port.o64 \
     Version.o64


#-- Clean Up -----------------------------------------------------------------

.PHONEY: clean
clean:
	rm -f *.[bo]
	rm -f *.err


#-- Build targets ------------------------------------------------------------


USBPaylink.o32: ../../../MainCode/Version.cpp \
    ../USBDevices/LEDSwLite.cpp \
    ../USBDevices/LEDSwPiHat.cpp \
    ../USBDevices/Monitor.cpp \
    ../USBDevices/LinuxDongle.cpp \
    ../USBDevices/CommsHandler.cpp \
    ../USBDevices/Exec.cpp \
    ../USBDevices/LiteConfig.cpp \
    ../USBDevices/LinuxThread.cpp \
    ../USBDevices/Remote.cpp \
    ../USBDevices/uDriver.cpp \
    ../USBDevices/USBPaylink.cpp \
    ../USBDevices/LinuxE2prom.cpp
	$(CXX) -c $(CXXFLAGS) -o $@ ../USBDevices/USBPaylink.cpp
	
USBPaylinkPC.o32: ../../../MainCode/Version.cpp \
    ../USBDevices/LEDSwLite.cpp \
    ../USBDevices/LEDSwPiHat.cpp \
    ../USBDevices/Monitor.cpp \
    ../USBDevices/LinuxDongle.cpp \
    ../USBDevices/CommsHandler.cpp \
    ../USBDevices/Exec.cpp \
    ../USBDevices/LiteConfig.cpp \
    ../USBDevices/LinuxThread.cpp \
    ../USBDevices/Remote.cpp \
    ../USBDevices/uDriver.cpp \
    ../USBDevices/USBPaylink.cpp \
    ../USBDevices/LinuxE2prom.cpp
	$(CXX) -c $(CXXFLAGS) -o $@ ../USBDevices/USBPaylinkPC.cpp
    
Acceptor.o32:    ../../../MainCode/Acceptor.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
BNVCrypt.o32:    ../../../MainCode/BNVCrypt.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccBcr.o32:    ../../../MainCode/ccBcr.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccCoinAc.o32:    ../../../MainCode/ccCoinAc.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccHopper.o32:    ../../../MainCode/ccHopper.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccInnov.o32:    ../../../MainCode/ccInnov.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
CCNetPort.o32:    ../../../MainCode/CCNetPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
CCNetRecycler.o32:    ../../../MainCode/CCNetRecycler.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccNote.o32:    ../../../MainCode/ccNote.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccNV200.o32:    ../../../MainCode/ccNV200.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccPort.o32:    ../../../MainCode/ccPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccSmartHopper.o32:    ../../../MainCode/ccSmartHopper.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccVegaRC.o32:    ../../../MainCode/ccVegaRC.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
DESDevice.o32:    ../../../MainCode/DESDevice.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
AESDevice.o32:    ../../../MainCode/AESDevice.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
AESEncryption.o32:    ../../../MainCode/AESEncryption.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
EBDSNote.o32:    ../../../MainCode/EBDSNote.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
EBDSPort.o32:    ../../../MainCode/EBDSPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Random.o32:    ../../../MainCode/Random.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
SSPCodes.o32:    ../../../MainCode/SSPCodes.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
SSPNote.o32:    ../../../MainCode/SSPNote.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
SSPPort.o32:    ../../../MainCode/SSPPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
SSPPrinter.o32:    ../../../MainCode/SSPPrinter.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ccCls.o32:    ../../../MainCode/ccCls.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
TFlex.o32:    ../../../MainCode/TFlex.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
TFlexPort.o32:    ../../../MainCode/TFlexPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Device.o32:    ../../../MainCode/Device.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Printer.o32:    ../../../MainCode/Printer.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Encrypt.o32:    ../../../MainCode/Encrypt.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Escrow.o32:    ../../../MainCode/Escrow.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
F56.o32:    ../../../MainCode/F56.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
F56Port.o32:    ../../../MainCode/F56Port.cpp 
	$(CXX) -c $(CXXFLAGS) -Wno-array-bounds -o $@ $?
Hopper.o32:    ../../../MainCode/Hopper.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
HostIFace.o32:    ../../../MainCode/HostIFace.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ID003Note.o32:    ../../../MainCode/ID003Note.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
ID003Port.o32:    ../../../MainCode/ID003Port.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
AESPort.o32:    ../../../MainCode/AESPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
IOLocal.o32:    ../../../MainCode/IOLocal.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Merkur.o32:    ../../../MainCode/Merkur.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
MFS.o32:    ../../../MainCode/MFS.cpp
	$(CXX) -c $(CXXFLAGS) -o $@ $?
MFSPort.o32:    ../../../MainCode/MFSPort.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Port.o32:    ../../../MainCode/Port.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
Version.o32:    ../../../MainCode/Version.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
DESEncrypt.o32:    ../../../DESEncrypt.cpp 
	$(CXX) -c $(CXXFLAGS) -o $@ $?
PiGPIO.o32:     ../USBDevices/PiGPIO.cpp
	$(CXX) -c $(CXXFLAGS) -o $@ $?


USBPaylink.o64: ../../../MainCode/Version.cpp \
    ../USBDevices/LEDSwLite.cpp \
    ../USBDevices/LEDSwPiHat.cpp \
    ../USBDevices/Monitor.cpp \
    ../USBDevices/LinuxDongle.cpp \
    ../USBDevices/CommsHandler.cpp \
    ../USBDevices/Exec.cpp \
    ../USBDevices/LiteConfig.cpp \
    ../USBDevices/LinuxThread.cpp \
    ../USBDevices/Remote.cpp \
    ../USBDevices/uDriver.cpp \
    ../USBDevices/USBPaylink.cpp \
    ../USBDevices/LinuxE2prom.cpp
	$(CXX) -c $(C64FLAGS) -o $@ ../USBDevices/USBPaylink.cpp
	
USBPaylinkPC.o64: ../../../MainCode/Version.cpp \
    ../USBDevices/LEDSwLite.cpp \
    ../USBDevices/LEDSwPiHat.cpp \
    ../USBDevices/Monitor.cpp \
    ../USBDevices/LinuxDongle.cpp \
    ../USBDevices/CommsHandler.cpp \
    ../USBDevices/Exec.cpp \
    ../USBDevices/LiteConfig.cpp \
    ../USBDevices/LinuxThread.cpp \
    ../USBDevices/Remote.cpp \
    ../USBDevices/uDriver.cpp \
    ../USBDevices/USBPaylink.cpp \
    ../USBDevices/LinuxE2prom.cpp
	$(CXX) -c $(C64FLAGS) -o $@ ../USBDevices/USBPaylinkPC.cpp
    
Acceptor.o64:    ../../../MainCode/Acceptor.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
BNVCrypt.o64:    ../../../MainCode/BNVCrypt.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccBcr.o64:    ../../../MainCode/ccBcr.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccCoinAc.o64:    ../../../MainCode/ccCoinAc.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccHopper.o64:    ../../../MainCode/ccHopper.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccInnov.o64:    ../../../MainCode/ccInnov.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
CCNetPort.o64:    ../../../MainCode/CCNetPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
CCNetRecycler.o64:    ../../../MainCode/CCNetRecycler.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccNote.o64:    ../../../MainCode/ccNote.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccNV200.o64:    ../../../MainCode/ccNV200.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccPort.o64:    ../../../MainCode/ccPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccSmartHopper.o64:    ../../../MainCode/ccSmartHopper.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccVegaRC.o64:    ../../../MainCode/ccVegaRC.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
DESDevice.o64:    ../../../MainCode/DESDevice.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
AESDevice.o64:    ../../../MainCode/AESDevice.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
AESEncryption.o64:    ../../../MainCode/AESEncryption.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
EBDSNote.o64:    ../../../MainCode/EBDSNote.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
EBDSPort.o64:    ../../../MainCode/EBDSPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Random.o64:    ../../../MainCode/Random.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
SSPCodes.o64:    ../../../MainCode/SSPCodes.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
SSPNote.o64:    ../../../MainCode/SSPNote.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
SSPPort.o64:    ../../../MainCode/SSPPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
SSPPrinter.o64:    ../../../MainCode/SSPPrinter.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ccCls.o64:    ../../../MainCode/ccCls.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
TFlex.o64:    ../../../MainCode/TFlex.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
TFlexPort.o64:    ../../../MainCode/TFlexPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Device.o64:    ../../../MainCode/Device.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Printer.o64:    ../../../MainCode/Printer.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Encrypt.o64:    ../../../MainCode/Encrypt.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Escrow.o64:    ../../../MainCode/Escrow.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
F56.o64:    ../../../MainCode/F56.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
F56Port.o64:    ../../../MainCode/F56Port.cpp 
	$(CXX) -c $(C64FLAGS) -Wno-array-bounds -o $@ $?
Hopper.o64:    ../../../MainCode/Hopper.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
HostIFace.o64:    ../../../MainCode/HostIFace.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ID003Note.o64:    ../../../MainCode/ID003Note.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
ID003Port.o64:    ../../../MainCode/ID003Port.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
AESPort.o64:    ../../../MainCode/AESPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
IOLocal.o64:    ../../../MainCode/IOLocal.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Merkur.o64:    ../../../MainCode/Merkur.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
MFS.o64:    ../../../MainCode/MFS.cpp
	$(CXX) -c $(C64FLAGS) -o $@ $?
MFSPort.o64:    ../../../MainCode/MFSPort.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Port.o64:    ../../../MainCode/Port.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
Version.o64:    ../../../MainCode/Version.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
DESEncrypt.o64:    ../../../DESEncrypt.cpp 
	$(CXX) -c $(C64FLAGS) -o $@ $?
PiGPIO.o64:     ../USBDevices/PiGPIO.cpp
	$(CXX) -c $(C64FLAGS) -o $@ $?
